xformers

您所在的位置:网站首页 mac 下载python库 xformers

xformers

2023-03-30 22:17| 来源: 网络整理| 查看: 265

xFormers是一个模块化和可编程的Transformer建模库;相关介绍可以查看官方文档: facebookresearch.github.io/xformers/;

由于电脑硬件过于古老,需要使用到xformers的更老的版本,这里是0.0.11版本,这是使用torch==1.8.1的一个版本;

下载代码 git clone -b v0.0.11 https://github.com/facebookresearch/xformers.git # -b 指定下载 v0.0.11 tag的代码 复制代码 首先正常安装(默认安装)

不修改 torch的版本,默认xformers-0.0.11版本依赖是 torch >= 1.8.1,安装时会安装最新的torch版本:2.0.0 同时使用python 3.9 进度安装;

创建python虚拟环境 python -m venv venv # 第一个venv模块,第二个venv是创建了一个名叫`venv`的虚拟环境在当前目录下 复制代码 安装依赖 venv/bin/pip install -r requirements.txt 复制代码 编译 # MACOSX_DEPLOYMENT_TARGET=10.9 CC=clang CXX=clang++ venv/bin/pip install -e . 复制代码

该编译方式为官方文档的编译方式,这个参数因为pytorch要求的,具体可以参考 pytorch-v1.8.1版本的CONTRIBUTING

编译不了,提示

应该是c语言的版本问题,重新安装gcc版本;

# 这个安装比较用时,需要安装的依赖比较多 brew install gcc@9 #指定GCC的版本,新的编译命令为 MACOSX_DEPLOYMENT_TARGET=10.9 CC=gcc-9 CXX=g++-9 venv/bin/pip install -e . # 等待20分钟左右,完成编译 复制代码 Installing collected packages: xformers Running setup.py develop for xformers Successfully installed xformers-0.0.11.dev0 复制代码

但是这里我们的电脑硬件太老,需要torch==1.8.1,现在安装的是torch==2.0.0; 这时就需要指定torch版本。

# 清理掉原来的编译结果 venv/bin/python setup.py clean #再创建一下虚拟环境 python -m venv venv 复制代码

在官方文档中有说明 torch 1.12 以及的版本,还需要手动安装相关的依赖,打开文档安装以前版本的torch说明 找到相关的命令

# 安装指定版本的 torch venv/bin/pip install torch==1.8.1 torchvision==0.9.1 torchaudio==0.8.1 # 再安装依赖 venv/bin/pip install -r requirements.txt # 再编译 MACOSX_DEPLOYMENT_TARGET=10.9 CC=gcc-9 CXX=g++-9 venv/bin/pip install -e . 复制代码

这时提示 error: $MACOSX_DEPLOYMENT_TARGET mismatch: now "10.9" but "11.6" during configure;

# 去掉 MACOSX_DEPLOYMENT_TARGET 参数,再编译 CC=gcc-9 CXX=g++-9 venv/bin/pip install -e . 复制代码

又提示 xformers/xformers/components/attention/csrc/cpu/attention.cpp:7:10: fatal error: 'ATen/cpu/vec/functional.h' file not found 上pytorch的github代码库,切到 v1.8.1分支找了一下,

xformers-pytorch-functional.jpg

确实没有这个文件,但是有 ATen/cpu/vec256/functional.h 这个文件,于是修改xformers/xformers/components/attention/csrc/cpu/attention.cpp为

... #include #include ... 复制代码

xformers-attention.jpg

# 修改完成后,再编译,成功! CC=gcc-9 CXX=g++-9 venv/bin/pip install -e . 复制代码


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3